package com.zz.admin.authMenuManagement.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zz.common.base.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

/**
 * 菜单实体API类
 *
 * @author zl
 * @since 2025-11-16 20:04:12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "菜单")
public class AuthMenuDto extends BaseDto {

    @ApiModelProperty(value = "主键", name = "menuId")
    private String menuId;

    @ApiModelProperty(value = "菜单名称", name = "menuName")
    private String menuName;

    @ApiModelProperty(value = "菜单类型", name = "menuType")
    private String menuType;

    @ApiModelProperty(value = "菜单描述", name = "description")
    private String description;

    @ApiModelProperty(value = "角色id", name = "roleId")
    private String roleId;

    @ApiModelProperty(value = "菜单路径", name = "path")
    private String path;

    @ApiModelProperty(value = "菜单文件路径", name = "url")
    private String url;

    @ApiModelProperty(value = "权限标识", name = "permission")
    private String permission;

    @ApiModelProperty(value = "图标", name = "icon")
    private String icon;

    @ApiModelProperty(value = "菜单标题", name = "title")
    private String title;

    @ApiModelProperty(value = "国际化键名", name = "titleKey")
    private String titleKey;

    @ApiModelProperty(value = "父级id", name = "parentId")
    private String parentId;

    @ApiModelProperty(value = "排序", name = "displaySeq")
    private Integer displaySeq;

    @ApiModelProperty(value = "记录日志", name = "recordLog")
    private String recordLog;

    @ApiModelProperty(value = "所属系统", name = "useSys")
    private String useSys;

    @ApiModelProperty(value = "是否外联", name = "link")
    private String link;

    @ApiModelProperty(value = "是否可见", name = "visable")
    private String visable;

    @ApiModelProperty(value = "状态", name = "status")
    private String status;

    @ApiModelProperty(value = "删除标识", name = "delFlag")
    private String delFlag;

    @ApiModelProperty(value = "创建人", name = "createBy")
    private String createBy;

    @ApiModelProperty(value = "更新人", name = "updateBy")
    private String updateBy;

    @ApiModelProperty(value = "创建时间", name = "createDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新时间", name = "updateDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateDate;

    private String expand1;

    private String expand2;

    private String expand3;

    private String expand4;

    private String expand5;


    // ================= 以下为自定义字段 =================

}
